草庐IT

RubyGems + Cygwin : POSIX path not found by ruby. exe

全部标签

c++ - "undefined reference"(适用于 linux,但不适用于 Windows 上的 cygwin)

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:gcclinkererrorsonfedora:undefinedreference由于我在使用VC++时遇到了问题(函数重载不会发生在gcc上,因为我的项目合作伙伴正在Linux上编程),我在cygwin上切换到gcc,但我无法让程序运行这里也是(他能够毫无问题地编译相同的代码)我正在尝试编译$gcc-ID:/Programme/Boost_Library/boost_1_51ABI_new.cpp-oABI然后我得到大量这样的错误:/tmp/ccO4eSA2.o:ABI_new.cpp:(.text+0x

c++ - Cygwin 的 cmake 与 CMAKE_SYSTEM_NAME 不匹配

我在使用cmake的cygwin上有一个奇怪的行为。我尝试检查我的CMakeLists.txt中的操作系统,但似乎这种特殊情况不起作用......这是一个引发我的问题的例子:set(FOO"BAR")message(${CMAKE_SYSTEM_NAME})if(${CMAKE_SYSTEM_NAME}STREQUAL"CYGWIN")message("EQUALSCYGWIN")endif()if(${CMAKE_SYSTEM_NAME}MATCHES"CYGWIN")message("MATCHESCYGWIN")endif()if(${FOO}MATCHES"BAR")messa

c++ - 我应该从哪里获得其他人用来构建 boost 的 b2.exe 和 bjam.exe?

我(再次)遇到boost库的问题,特别是zlib/iostreams部分,这是(再次)到期的errorsinthatreleaseofboost-zlib库中有一些更改未反射(reflect)到该boost版本中。我不是唯一遇到这个问题的人,但我似乎是唯一一个不知道每个人都在谈论的bjam.exe是什么的人,就好像它是内置的一样Windows上的命令。显然,Imyselfusedthatcommandinthepast,但那是2年前的事了。我试过这个:http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/但我得到的只是

c++ - 在不复制 .dll 的情况下运行 .exe

我已准备好交付VisualStudio2015解决方案。我要求.exe应该开箱即用。但是,我收到“缺少dll...”错误。有什么办法可以让某人运行exe而无需下载一堆ddls吗?我能否以某种方式将.exe构建为可独立执行? 最佳答案 是的,您必须静态链接二进制文件。在项目设置(ConfigurationProperties->C/C++->CodeGeneration)中,分别使用/MT、/MTd作为Release、Debug配置。但是,这会增加可执行文件的大小。MSDNdocumentationon/MT,/MTdoptions

c++ - 如何生成包含可通过脚本轻松修改的数据的 exe

我希望生成一个包含两个文件的WindowsEXE(尽管我最终需要支持Mac/Linux),一个配置文件和一个MSI。我会让exe启动MSI,然后将配置文件复制到位。我不太确定如何执行此操作,但我不太担心。但是,我的要求之一是配置文件必须可以使用在Linux服务器上运行的脚本(Ruby)进行修改,因为我需要在下载EXE时更改一些数据。我已经研究了几种实现方法,例如使用xd生成我包含在我的项目中的字节流,但这似乎是一个糟糕的解决方案。也许不是,那是正确的解决方案,但我想确定。有这样做的“正确”方法吗?是否可以简单地将数据附加到可执行文件的末尾并使用C++查找它?我不是在这里寻找完整的解决方

c++ - 如果我使用一个用 C++ 编写的旧 Windows 95 .EXE,并且我想将 8 位整数转换为 16 位整数,会不会很困难?

如果我有一个旧的PC游戏,它的某些变量不能超过255而不会崩溃,是否可以通过修改Windows95可执行文件将所有8位整数转换为16位整数?我说的游戏是1997年的TotalAnnihilation。虽然游戏本身远远超前于时代,并且有能力将其retrofit成史诗般的体验,(见鬼,游戏太超前了,数据文件使用类似JSON的语法...该游戏还支持4K,看起来仍然很棒。)不幸的是,游戏中的武器总数是有限制的。所有的武器都有ID,武器的最大ID是255,如下所示:[NUCLEAR_MISSILE]{ID=122;name=NuclearMissile;rendertype=1;lineofsi

c++ - 在 Cygwin 中处理 "C compiler cannot create executables"

无论我尝试在Cygwin中编译什么,我都会得到以下输出:checkingformingw32environment...nocheckingforEMXOS/2environment...nocheckinghowtoruntheCpreprocessor...gcc-Echeckingforgcc...gcccheckingwhethertheCcompiler(gcc)works...noconfigure:error:installationorconfigurationproblem:Ccompilercannotcreateexecutables.日志文件的最后几行如下所示:

c++ - dll 的环境变量与 exe 不同

我正在Windows7上调试一个64位应用程序,其中c#exe使用nativec++dll。这两个应用程序的环境变量似乎不同,即使它们都在同一进程中执行。调用System.Environment.SetEnvironmentVariable怎么可能对getenv()返回的值没有影响? 最佳答案 环境变量只是一个数据block,它在启动时由窗口传递给进程。您正在使用的运行时函数(System.Environment的BCL和getenv的CRT)可能会在启动期间复制环境,这意味着它们不是在相同的“环境”变量上运行。从概念上讲,他们必须

c++ - 在 C++ 的 .exe 应用程序中包含文件(dll、txt 等)

我制作了一个用C++编写的程序,它使用许多文件,例如.dll或.png。程序和文件在同一目录中。是否可以在.exe应用程序中包含文件?这样我只需要.exe文件就可以运行程序。 最佳答案 啊,是的。答案是在您运行的可执行文件的末尾写入您需要的所有文件,这些文件包含在一个zip文件中。方法如下:Part1(写入可执行文件)和Part2[断开的链接](从可执行文件中读取)。这是有趣的东西;好问题。请注意,您不能对DLL文件执行此操作-它们必须与可执行文件位于同一目录中或安装在计算机上。 关于c

c++ - 在 cygwin 上找不到 tchar.h

我在Windows7(32位)上运行最新的cygwin,并尝试构建一个开源项目,RtAudio(它目前不在此平台上构建)。我解决过的问题之一是线路上的错误#include.我的构建线是:g++-O2-Wall-Iinclude-DHAVE_GETTIMEOFDAY-D__WINDOWS_DS__-cRtAudio.cpp-oRtAudio.o错误是:tchar.h:Nosuchfileordirectory如果我将/usr/include/mingw(其中包含tchar.h)添加到包含路径列表中,我会得到更多错误。我通过不使用LPCTSTR解决了这个问题,只是为constchar*重载